package com.animee.health.guide;

import android.annotation.SuppressLint;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;

import com.animee.health.HomeMenuActivity;
import com.animee.health.R;
import com.animee.health.utils.DBTools;
import com.animee.health.utils.DataDB;

public class MainActivity extends AppCompatActivity {

    // 找到页面布局中的textView
    TextView tv;        // 右上角那个倒计时
    int time = 5;
    SharedPreferences preferences;  // 存储键值对数据
    DataDB db;
    DBTools tools = new DBTools();
    private SharedPreferences.Editor editor;

    // 用handler实现计时
    /**
     * handleMessage(Message msg) 处理消息的方法, 通常重写该方法来处理消息, 在发送消息时, 该方法会自动回调
     */
    @SuppressLint("HandlerLeak")
    Handler handler = new Handler() {               // 创建一个handler对象
        @Override
        public void handleMessage(Message msg) {    // 接收信息的方法,传入发送信息的编号line55
            if (msg.what == 1) {                    // 判断接收的信息是否为发送的
                time--;
                if (time == 0) {
                    // 跳转页面,减到1秒后再过一秒就要跳转了,而不是显示0
                    Intent intent = new Intent();
                    boolean isfirst = preferences.getBoolean("isfirst", true);  // 第一次存储
                    if (isfirst) {                                  // 判断是否为第一次存储,如果是第一次存储说明之前没有存过
                        intent.setClass(MainActivity.this, GuideActivity.class);
                        editor.putBoolean("isfirst", false);        // 写入不是第一次进入的纪录
                        editor.commit();                            // 提交本次修改纪录
                    } else {                                        // 跳转
                        intent.setClass(MainActivity.this, HomeMenuActivity.class);
                    }
                    startActivity(intent);
                    finish();                           // 关闭当前页面,返回时直接退出app而不是返回在主界面
                } else {                                // time不为0,继续对显示时间,对TextView进行设置,继续发送信息
                    tv.setText(time + "");              // time是int类型,要把设置成字符串类型的,加""即可使它成为字符串
                    handler.sendEmptyMessageDelayed(1, 1000);   // 每隔一秒实现一次
                }
            }
        }
    };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        tv = findViewById(R.id.main_tv);
        preferences = getSharedPreferences("health_pref", MODE_PRIVATE);

        // 初始化db
        db = new DataDB(MainActivity.this, "Data.db", null, 1);

        // 先删除一下之前的所有数据
        // db.getReadableDatabase().delete("Data", null, null);

        // --写入数据
        // String dbData = FoodUtils.dbData;
        // String[] lines = dbData.split("\n");
        // for (String line : lines) {
        //     System.out.println("--------------Main--Insert-------line = " + line);
        //     String[] split = line.split("\\|");
        //     tools.insert(db.getReadableDatabase(), split[0], split[1], split[2], split[3]);
        // }

        editor = preferences.edit(); //写入数据的对象
        handler.sendEmptyMessageDelayed(1, 1000);   // 发送信息编号为1,发送信息在1秒钟之后(line24)
    }
}
